草庐IT

ios - RubyMotion 和指针

全部标签

c++ - 卡在遗留 C++ IO 库和标准化 IO 库之间

我的问题是在挫折之后,其实我最近研究了标准的C++IO库。我在Linux机器上开发,所以一切都很好。由于我对文件io(file.exceptions(flags)))使用了异常处理,旧版本的GNUC++编译器不支持它。实际的部署机器有很旧的g++版本,可能是2.9x左右。我正在编写一个数据记录器应用程序,因为我写了很多依赖于try-catch对的代码。我现在应该怎么办。我尝试声明一个从std::exception继承的异常。有用。将fstream包装在头文件中是个好主意吗?如果是,我应该怎么做,比如继承,还是只是包装? 最佳答案 既

c++ - Boost 快速池分配器有函数指针问题?

这是Boost错误还是我做错了什么?#include#includeintmain(){typedefconststd::stringkey;typedefdouble*(*value)(constint&);std::map>map_with_standard_allocator;//worksstd::map,boost::fast_pool_allocator>>map_with_boost_allocator;//fails}最后一行无法在带有Boost1.40和1.48的MSVisualStudio2008下编译。不过,它在g++4.5.3(Cygwin)下编译得很好。错误是

C++11 检查成员的 COM 智能指针

我有一堆类似集合的COM接口(interface),我正在尝试为其编写类似STL的迭代器。我已经让迭代器正常工作并专门化了begin()和end()来返回我的迭代器。一切都很完美!除了,当我尝试使用begin(std::vector)时,它使用的是我对begin()的非常一般的特化。由于这些COM对象不是从基础集合对象扩展的,所以我首先尝试:templateCollectionIteratorbegin(CollTypecoll)我明白为什么重载解析没有为std::vector选择正确的begin(),但我不确定如何解决这个问题。不幸的是,我没有一个基集合类来专门针对coll参数。我假

当 C++ 使用智能指针时,C# 委托(delegate)等效

我主要是一名从事C++项目的.NET程序员,我正在尝试确定处理使用Action和Function模板类型的委托(delegate)的等效方法。我将委托(delegate)用作.NET代码中的事件和回调。我的C++项目使用智能指针和与C#程序相同的委托(delegate)设计模式。处理这种情况的最佳方法是什么?我不清楚如何传递和维护一个函数指针,该函数指针还跟踪智能指针并可能删除底层对象,因为事件容器使用弱引用。该库需要是多平台的,因此不幸的是,使用CLR不是一种选择。 最佳答案 您正在寻找的是绑定(bind)到现有对象的方法指针,就

c++ - 小于函数解引用指针

在某些情况下,STL容器中有指针,小于比较不应由指针进行,而应由指向的对象进行。一个简单的例子是一个vector,它应该按实数排序。目前我解决这个问题:templatestructltDeref{booloperator()(T_PTRp0,T_PTRp1)const{return*p0并将其用作vectorvIn;sort(vIn.begin(),vIn.end(),ltDeref());或set>someSet;与其编写我自己的比较函数,不如在C++中有更“标准”的方法,它不需要用户制作的模板? 最佳答案 通常你可以使用thef

c++ - 通用成员函数指针作为另一个类中的模板参数

我的问题类似于this.而'KarrekSB'sanswer实际上对我有所帮助。我有这些类(class):基础.h:classBase{public:Base(){}virtual~Base(){}virtualvoidinit()=0;};A1.h:#include#include"Base.h"usingnamespacestd;classA1:publicBase{public:A1(){}virtual~A1(){};virtualvoidinit(){cout我有另一个类应该能够存储具有任何类型和数量的参数的任何通用成员函数。该类看起来像这样:MFholder.h:#incl

c++ - 通过指针获取: good practice?装饰一个char*和char const*

你好,我想就我做一个字符串类(如std::string)的想法向公众进行投票,该字符串类具有能够在客户端提供的缓冲区上工作的特性。您预见到的危险是什么?是经典的味道吗?等等我的意思是:charext[64]={0};my::strings(ext,my::string::acquire_RW);size_tlen=s.size();size_tpos=s.find("zboub");my::strings2(s);//usestrue(alloc+)copysemantichere.所以我预见了2种策略:acquire_RW和acquire_RO将允许或不允许修改ext中的字符。在RO

算法(3)前缀和+差分+双指针+位运算

前缀和:一维:原数组:a1,a2,a3,……,an;前缀和:si=a1+a2+a3+……+ai;求法:s[i]=s[i-1]+a[i];作用:快速求出一段的和练习题:795.前缀和-AcWing题库代码:#includeusingnamespacestd;constintN=100010;intq[N];//存数intn,m;//n个数m个询问ints[N];//存前缀和intres[N];//存答案intmain(){ cin>>n>>m; s[0]=0; for(inti=1;i>q[i]; s[i]=s[i-1]+q[i];//存前缀和 } for(inti=0;i>l>>r; re

c++ - 多态性和成员函数指针是如何工作的?

这个问题在这里已经有了答案:Pointerstovirtualmemberfunctions.Howdoesitwork?(3个答案)关闭9年前。我有以下代码:#includeusingnamespacestd;classBase{public:virtualvoidWhoAmI()const;typedefvoid(Base::*WhoPtr)()const;};classDerived:publicBase{public:virtualvoidWhoAmI()const;};voidDerived::WhoAmI()const{cout让我们关注主要内容:intmain(){Bas

C++双指针成员访问

C++(Arduino包装器)问题:我正在一个连接了LCD的Arduino上写一个射击游戏-我有一个基类(Sprite),从这个基类派生出其他类-Alien,Missile和Player.Alien类的构造函数也有私有(private)成员pMissile(指向Missile类的指针)-我认为“对象中的对象”是描述这一点的一种方式。[当Alien发射导弹,它将自己的(x,y)坐标传递给导弹,导弹有自己的从Alien开始移动的方法。的坐标]我的问题是:如何通过Alien访问导弹的坐标?目的?简化的代码如下,我还绘制了类的表示://Bassclass-hasaform/shape,xand